#ifndef LINKEDIDENTIFIERINFO_H
#define LINKEDIDENTIFIERINFO_H

#include <clang/AST/Decl.h>
#include <clang/Basic/FileManager.h>

#include <map>
#include <string>
#include <list>

class LinkedIdentifierInfo
{
public:
	LinkedIdentifierInfo(const std::string &name = "", clang::Decl *pDecl = 0,
						 const std::string &includeFileName = "",
						 bool isUsed = false);

public:
	clang::Decl *m_pDecl;
	std::string m_name;
	std::string m_includeFileName;
	std::list<LinkedIdentifierInfo*> m_deps;
	bool m_isUsed;
};

typedef std::map<std::string, LinkedIdentifierInfo> LinkedIdentifierInfoMap;
typedef std::list<LinkedIdentifierInfo *> LinkedIdentifierInfoList;


#endif // LINKEDIDENTIFIERINFO_H
